A three-dimensional pattern editing apparatus used in a CAD system, which utilizes a computer, is now utilized in various design fields, for example, construction, machine, electricity, electronics, automobile, etc., to perform three-dimensional design. In this apparatus, a three-dimensional pattern can be displayed on the display device from any one viewpoint which the user requires and can be enlarged and freely moved. Accordingly, this apparatus can contribute to an improvement of design quality since it can confirm the pattern visually from all angles (directions) when the user wishes to optimally arrange all structural elements in complicated structures or in three-dimensional pipe and wire arrangements.
In the above mentioned design work and confirmation process, the user frequently performs a dragging operation which moves the three-dimensional pattern by moving a cursor on the display with a keyboard or a mouse.
When performing the design work and the confirmation process by utilizing a CAD system, in general, a plurality of rectangular areas (each rectangular area is called a "view") are displayed on the display device when the user changes his viewpoint toward the three-dimensional object. Accordingly, the three-dimensional pattern for each "view" can be displayed in accordance with the various viewpoints.
Conventionally, the editing operation of the three-dimensional pattern is performed only on the pattern within any one "view". When the editing work of pattern movement is started in accordance with a dragging operation by the user, a position of destination (of movement) of the three-dimensional pattern, which is the dragged object, can be calculated in real time in response to the dragging operation. In this case, a conventional dragging operation is executed by using line patterns (vectors) so that the apparent speed of the dragging operation depends on the drawing speed of line patterns.
Further, conventionally, during dragging operations, the three-dimensional pattern is drawn for the position of the calculated line patterns only within the "view" where the mouse cursor exists, and the three-dimensional pattern which exists in the original position is deleted for every drawing operation.
When the user confirms completion of this dragging operation, the same dragging operations as above are performed to all other "views" of the three-dimensional pattern which is the object of the dragging operation. As a result, the user confirms, in all "views" and by changing his viewpoint, whether the three-dimensional pattern is moved to the target position.
However, in the above mentioned conventional method, since the pattern movement based on the dragging operation is performed only within any one "view" where the mouse cursor exists, it is difficult to check whether the three-dimensional pattern is moved to the target position during the dragging operation through another "view". Accordingly, it is necessary to perform the dragging operation repeatedly until the user can confirm completion of the movement of the three-dimensional pattern from the original position to the target position.
Further, since the target three-dimensional pattern is drawn at a position which is calculated in real time, and since the deleting process of the three-dimensional pattern which exists in the original position is repeated during the dragging operation for every drawing, there is a problem that the processing speed of the pattern movement during the dragging operation is reduced.
The object of the present invention is to solve the above problem and lies in improvement of editing efficiency of a pattern moving operation during a dragging operation.
That is, as explained above, since the conventional dragging operation is performed by using line patterns, the movement speed of the pattern depends on the drawing speed of the line pattern. Further, since the dragging operation is performed for every "view" a lot of time is required in response to an increase in the number of structural elements which are the object of the dragging operation. Still further, since the same dragging operations are repeated for every "view" a lot of time is required for the drawing operation.
In the present invention, since the three-dimensional patterns including line patterns which are the object of the drawing operation are stored in a memory as image data, and since the image data are moved (i.e., dragged) after storage, it is possible to perform high speed dragging operation only after a logic operation is executed for dots in the memory. Further, it is possible to collectively perform dragging operations for all "views".